// Vue 的全局过滤器
// 包含方法：金钱格式化、

export default {
  // 金钱格式化
  formatCurrency(num) {
    if (!num) return "0.00";
    num = num.toString().replace(/\$|,/g, "");
    if (isNaN(num)) num = "0";
    let sign = Number(num) === (num = Math.abs(num));
    num = Math.floor(num * 100 + 0.50000000001);
    let cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10) cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
      num =
        num.substring(0, num.length - (4 * i + 3)) +
        "," +
        num.substring(num.length - (4 * i + 3));
    return (sign ? "" : "-") + num + "." + cents;
  },

  // 秒数转时分秒
  formatSeconds(result) {
    var h =
      Math.floor(result / 3600) < 10
        ? "0" + Math.floor(result / 3600)
        : Math.floor(result / 3600);
    var m =
      Math.floor((result / 60) % 60) < 10
        ? "0" + Math.floor((result / 60) % 60)
        : Math.floor((result / 60) % 60);
    var s =
      Math.floor(result % 60) < 10
        ? "0" + Math.floor(result % 60)
        : Math.floor(result % 60);
    return (result = h + ":" + m + ":" + s);
  },
  // 金钱单位 分转元
  cent2yuan(price) {
    return Number(price) / 100;
  },
  // 格式化日期  "yyyy-MM-dd" "yyyy-MM-dd HH:mm:ss"
  formatDate(time, fmt = "yyyy-MM-dd") {
    const date = new Date(time);
    var o = {
      "M+": date.getMonth() + 1, //月份
      "d+": date.getDate(), //日
      "h+": date.getHours(), //小时
      "m+": date.getMinutes(), //分
      "s+": date.getSeconds(), //秒
      "q+": Math.floor((date.getMonth() + 3) / 3), //季度
      S: date.getMilliseconds(), //毫秒
    };
    if (/(y+)/.test(fmt))
      fmt = fmt.replace(
        RegExp.$1,
        (date.getFullYear() + "").substr(4 - RegExp.$1.length)
      );
    for (var k in o)
      if (new RegExp("(" + k + ")").test(fmt))
        fmt = fmt.replace(
          RegExp.$1,
          RegExp.$1.length === 1
            ? o[k]
            : ("00" + o[k]).substr(("" + o[k]).length)
        );
    return fmt;
  },

  // 富文本图片自适应大小
  formatHtml(val) {
    if (typeof val !== "string") return "";
    return val.replace(
      /<img/gi,
      "<img class='richImg' style='max-width:100%;height:auto!important;'"
    );
  },
};
